import { S } from '../../s';
import { IPSAppCodeList } from '../../app/codelist/ipsapp-code-list';
import { IPSDETreeCodeListNode } from './ipsdetree-code-list-node';
import { PSDETreeNodeImplBase } from './psdetree-node-impl-base';

export class PSDETreeCodeListNodeImpl
  extends PSDETreeNodeImplBase
  implements IPSDETreeCodeListNode
{
  protected psappcodelist: IPSAppCodeList;
  getPSCodeList(): IPSAppCodeList | null {
    return (
      this.psappcodelist ||
      (this.psappcodelist = this.fillObjectModel(
        S._8,
        this.M.getPSCodeList,
        S._2e5,
      ) as IPSAppCodeList)
    );
  }

  get appendCaption(): boolean {
    return this.M.appendCaption;
  }
  get cls(): string {
    return 'PSDETreeCodeListNodeImpl';
  }
  instanceof(cls: string): boolean {
    if (cls == S._1b3) return true;
    return super.instanceof(cls);
  }
}
